- Author:
- Weiwei Ai <wai484@aucklanduni.ac.nz>
- Date:
- 2024-05-28 09:13:47+12:00
- Desc:
- Reduce the number of steps
- Permanent Source URI:
- http://models.cellml.org/workspace/b65/rawfile/867012d2ec640dec0bef5ed61320faa18f15eb8e/Facilitated transporter/BG/GLUT2_BG.txt
def model GLUT2_BG as
def import using "./units.cellml" for
unit fmol using unit fmol;
unit J_per_K_mol using unit J_per_K_mol;
unit fmol_per_s using unit fmol_per_s;
unit J_per_mol using unit J_per_mol;
unit per_fmol using unit per_fmol;
enddef;
def import using "params_BG.cellml" for
comp params_BG using comp params_BG;
enddef;
def comp GLUT2_BG as
var t: second;
var R: J_per_K_mol{ pub: in};
var T: kelvin{ pub: in};
var K_Ai: per_fmol{ pub: in};
var q_init_Ai: fmol{ pub: in};
var K_Ao: per_fmol{ pub: in};
var q_init_Ao: fmol{ pub: in};
var K_1: per_fmol{ pub: in};
var q_init_1: fmol{ pub: in};
var K_2: per_fmol{ pub: in};
var q_init_2: fmol{ pub: in};
var K_3: per_fmol{ pub: in};
var q_init_3: fmol{ pub: in};
var K_4: per_fmol{ pub: in};
var q_init_4: fmol{ pub: in};
var kappa_r1: fmol_per_s{ pub: in};
var kappa_r2: fmol_per_s{ pub: in};
var kappa_r3: fmol_per_s{ pub: in};
var kappa_r4: fmol_per_s{ pub: in};
var mu_Ai: J_per_mol;
var v_Ai: fmol_per_s;
var mu_Ao: J_per_mol;
var v_Ao: fmol_per_s;
var mu_1: J_per_mol;
var v_1: fmol_per_s;
var mu_2: J_per_mol;
var v_2: fmol_per_s;
var mu_3: J_per_mol;
var v_3: fmol_per_s;
var mu_4: J_per_mol;
var v_4: fmol_per_s;
var A_f_r1: J_per_mol;
var v_r1: fmol_per_s;
var A_r_r1: J_per_mol;
var A_f_r2: J_per_mol;
var v_r2: fmol_per_s;
var A_r_r2: J_per_mol;
var A_f_r3: J_per_mol;
var v_r3: fmol_per_s;
var A_r_r3: J_per_mol;
var A_f_r4: J_per_mol;
var v_r4: fmol_per_s;
var A_r_r4: J_per_mol;
var q_Ai: fmol{ init: q_init_Ai};
var q_Ao: fmol{ init: q_init_Ao};
var q_1: fmol{ init: q_init_1};
var q_2: fmol{ init: q_init_2};
var q_3: fmol{ init: q_init_3};
var q_4: fmol{ init: q_init_4};
mu_Ai = R*T*ln(K_Ai*q_Ai);
ode(q_Ai,t) = v_Ai;
mu_Ao = R*T*ln(K_Ao*q_Ao);
ode(q_Ao,t) = v_Ao;
mu_1 = R*T*ln(K_1*q_1);
ode(q_1,t) = v_1;
mu_2 = R*T*ln(K_2*q_2);
ode(q_2,t) = v_2;
mu_3 = R*T*ln(K_3*q_3);
ode(q_3,t) = v_3;
mu_4 = R*T*ln(K_4*q_4);
ode(q_4,t) = v_4;
v_r1 = kappa_r1*(exp(A_f_r1/(R*T)) - exp(A_r_r1/(R*T)));
v_r2 = kappa_r2*(exp(A_f_r2/(R*T)) - exp(A_r_r2/(R*T)));
v_r3 = kappa_r3*(exp(A_f_r3/(R*T)) - exp(A_r_r3/(R*T)));
v_r4 = kappa_r4*(exp(A_f_r4/(R*T)) - exp(A_r_r4/(R*T)));
v_Ai = v_r4;
v_Ao = - v_r3;
v_1 = v_r1 - v_r3;
v_2 = v_r3 - v_r2;
v_3 = v_r2 - v_r4;
v_4 = v_r4 - v_r1;
A_f_r1 = mu_4;
A_r_r1 = mu_1;
A_f_r2 = mu_2;
A_r_r2 = mu_3;
A_f_r3 = mu_Ao+mu_1;
A_r_r3 = mu_2;
A_f_r4 = mu_3;
A_r_r4 = mu_Ai+mu_4;
enddef;
def map between params_BG and GLUT2_BG for
vars R and R;
vars T and T;
vars K_Ai and K_Ai;
vars q_init_Ai and q_init_Ai;
vars K_Ao and K_Ao;
vars q_init_Ao and q_init_Ao;
vars K_1 and K_1;
vars q_init_1 and q_init_1;
vars K_2 and K_2;
vars q_init_2 and q_init_2;
vars K_3 and K_3;
vars q_init_3 and q_init_3;
vars K_4 and K_4;
vars q_init_4 and q_init_4;
vars kappa_r1 and kappa_r1;
vars kappa_r2 and kappa_r2;
vars kappa_r3 and kappa_r3;
vars kappa_r4 and kappa_r4;
enddef;
enddef;